package controller;

import java.util.List;

import controller.data.commentDocumentation.CommentDocumentationRequest;
import controller.data.createNewDocumentation.CreateNewDocumentationRequest;
import controller.data.editDocumentation.EditDocumentationRequest;
import controller.data.rateDocumentation.RateDocumentationRequest;
import controller.data.readDocumentation.ReadDocumentationRequest;
import controller.data.readDocumentation.ReadDocumentationResponse;
import controller.data.searchRevision.SearchRevisionRequest;
import controller.data.searchRevision.SearchRevisionResponse;

public interface UseCaseController {

	public List<ReadDocumentationResponse> readDocumentation(
			ReadDocumentationRequest request);

	public String commentDocumentation(CommentDocumentationRequest request);

	public String createNewDocumentation(CreateNewDocumentationRequest request);

	public String rateDocumentation(RateDocumentationRequest request);

	public String editDocumentation(EditDocumentationRequest request);

	public List<SearchRevisionResponse> searchRevision(
			SearchRevisionRequest request);

	public List<ReadDocumentationResponse> nextDocumentationPage();

	public List<ReadDocumentationResponse> previousDocumentationPage();

	public boolean isFirstPage();

	public boolean hasNextPage();

	public String getId();

	public void setId(String id);

}
